clear all

log using "C:/Userdata/Shared/Logs/Organizations, political participation/labels.text", replace text 

global dodata "C:/Userdata/Shared/Dofiles/DoData/Organizations, political participation"

* Convert xls to dta
forvalues y = 1980 / 2015 {
	import excel "D:/SCB_ConPol/Txt/Dokumentation/DOKULF`y'.xlsx", sheet("Blad1") cellrange(A4) firstrow case(lower) clear
	gen year = `y'
	save "${dodata}/dokulf`y'.dta", replace
}

* Merge dta files
clear
forvalues y = 1980 / 2015 {
	append using "${dodata}/dokulf`y'.dta"
}
keep year variable label

* Erase dta files
forvalues y = 1980 / 2015 {
	erase "${dodata}/dokulf`y'.dta"
}

* List non-unique labels for each variable code
levelsof variable, local(vars)
foreach v in `vars' {
	qui tab label if variable == "`v'"
	if r(r) > 1 tab label if variable == "`v'"
}

* Modify labels
replace label = "KÖN" if label == "Kön"
replace label = "ÅLDER UNDERSÖKNINGSÅRET" if label == "Ålder undersökningsåret"
replace label = "MÖTE FACK/FÖRETAGARORG" if label == "MÖTE MED FACK" 			 
replace label = "MEDLEM POLITISKT PARTI" if label == "POLITISKT PARTI MEDLEM"
replace label = "MEDLEM HYRESGÄSTFÖRENING" if label == "MEDLEM I BOENDEFÖRENING" 
replace label = "DELTAR AKTIVT HYRESGÄSTFÖRENING" if label == "AKTIV I BOENDEFÖRENING"
replace label = "MEDLEM PENSIONÄRSFÖRENING" if label == "MEDLEM I PENSIONÄRSFÖRENING"
replace label = "DELTAR AKTIVT PENSIONÄRSFÖRENING" if label == "AKTIV PENSIONÄRSFÖRENING"
replace label = "MEDLEM ANNAN" if label == "MEDLEM ANNAN FÖRENING"
replace label = "AKTIV ANNAN" if label == "AKTIV ANNAN FÖRENING"
replace label = "AKTIV POLITISKA DISKUSSIONER" if label == "POLITISKA DISKUSSIONER"
replace label = "ÖVERKLAGA MYNDIGHETSBESLUT" if label == "ÖVERKLAGA BESLUT"
replace label = "MEDLEM I KULTURFÖRENING" if label == "MEDLEM KULTURFÖRENING"
replace label = "ÅRTAL (POF)" if label == "ÅRTAL (UNDERSÖKNINGSÅR)"				 

* Remove alphabetical suffixes on variables
levelsof variable if substr(variable,1,2) == "MA" & length(variable)>6, local(suffixvars)
local exclude MA12fackorg MA14DISK MA12601 MA140104 MA14100 MA14102
local suffixvars : list suffixvars - exclude
foreach v in `suffixvars' {
	replace variable = substr("`v'",1,6) if variable == "`v'"
}

* List non-unique labels for each variable code
levelsof variable, local(vars)
foreach v in `vars' {
	qui tab label if variable == "`v'"
	if r(r) > 1 tab label if variable == "`v'"
}

* Modify labels again
replace label = "FACKFÖRENING MEDLEM" if label == "MEDLEM I FACK"
replace label = "FACKFÖRENING MÖTE NÅGONSIN" if label == "MÖTE FACK/FÖRETAGARORG"
replace label = "FACKFÖRENING ANTAL GÅNGER" if label == "ANTAL GÅNGER FACK"
replace label = "DELTAR AKTIVT FACKFÖRBUND" if label == "AKTIV I FACK"
replace label = "POLITISKT PARTI ANTAL GÅNGER" if label == "MÖTE MED POLITISKT PARTI ANTAL GÅNGER"
replace label = "AKTIV POLITISKT PARTI" if label == "DELTAR AKTIVT POLITISKT PARTI"
replace label = "MEDLEM HYRESGÄSTFÖRENING" if label == "MEDLEM BOENDEFÖRENING"
replace label = "DELTAR AKTIVT HYRESGÄSTFÖRENING" if label == "AKTIV BOENDEFÖRENING FR.O.M. 2012"
replace label = "MEDLEM PENSIONÄRSFÖRENING" if label == "MEDLEM PENSIONÄRSFÖRENING (65+ ÅR)"
replace label = "DELTAR AKTIVT PENSIONÄRSFÖRENING" if label == "AKTIV PENSIONÄRSFÖR (65+ ÅR) FR.O.M. 2012"
replace label = "MEDLEM ANNAN" if label == "MEDLEM ANNAN FÖRENING FR.O.M. 2012"
replace label = "ANNAN ANTAL GÅNGER" if label == "MÖTE VISSA/ANNAN FÖRENING FR.O.M. 2012"
replace label = "AKTIV ANNAN" if label == "AKTIV I ANNAN FÖRENING FR.O.M. 2012"
replace label = "MEDLEM IDROTTS- FRILUFTSFÖRENING" if label == "MEDLEM I IDROTTSFÖRENING"
replace label = "MEDLEM IDROTTS- FRILUFTSFÖRENING" if label == "MEDLEM IDROTTSFÖRENING"
replace label = "AKTIV IDROTTSFÖRENING" if label == "AKTIV I IDROTTSFÖRENING"
replace label = "MEDLEM I KULTURFÖRENING" if label == "MEDLEM KULTUR, MUSIK, DANS, TEATERFÖRENING"
replace label = "AKTIV KULTURFÖRENING" if label == "AKTIV KULTUR, MUSIK, DANS, TEATERFÖRENING FR.O.M. 2012"
replace label = "MEDLEM I HUMANITÄR ORGANISATION" if label == "MEDLEM HUM. HJÄLPORGANISATION"
replace label = "AKTIV HUM. HJÄLPORGANISATION" if label == "AKTIV I HUMANITÄR ORGANISATION"

* Assert that labels are now unique for each variable code
foreach v in `vars' {
	qui tab label if variable == "`v'"
	assert r(r) == 1
}

* Save years that they are available
gen availableyears = ""
foreach v in `vars' {
	levelsof year if variable == "`v'", local(years)
	replace availableyears = "`years'" if variable == "`v'"
}

gen obs = 1
collapse (firstnm) label availableyears (count) obs, by(variable)
sort variable


log close
clear all

